Enterprise software systems receive, generate, and store data related to many aspects of an enterprise. Users operate reporting tools to search such data and display a result set.
In some scenarios, a search covers several different data objects. As illustrated in FIGS. 1A and 1B, these different objects (e.g., different database tables and/or different database views) might exhibit heterogeneous structures (e.g., different table columns). Heterogeneous structures cannot be processed with a simple Structured Query Language (SQL) statement.
For example, if a result set consisted of all rows of tables 10 and 20, the rows may be joined by a UNION operation to result in table 30 of FIG. 1C. Table 30 is composed of the columns of tables 10 and 20, simply placed side by side, resulting in many allocated but unused cells. This inefficiency increases exponentially with increasing numbers of heterogeneous data objects. Moreover, in order to render the result table in a coherent manner, a generic user interface (UI) tool would require logic specific to each possible combination of searched data objects and the column structure of the resulting tables.